// 这里定义所有的请求 api
// ! axios 中 get 方法 params 需要 {} 包裹，post 方法 params 不需要 {} 包裹
// ? 其中 params 传递为一个数据对象

// 首先要引入 require
import request from './request'

// *想要使用哪个 API 就导出哪个的暴露接口
// !这里是需要 return 一个方法，如果没有 return 则只能执行到 interceptors.request.use()
// example 方法 1 (推荐)
// export const GetHomeList = () => request.get('/index/index')
// example 方法 2
// export const GetHomeList = function () {
//   return request.get('/index/index')
// }

// ! 以下统一管理接口 API:
// ? 首页 home 数据请求
export const GetHomeList = () => request.get('/index/index')

// ? 弹出框 SearchPopup 数据请求
export const GetSearchPopupData = () => request.get('/search/index')

// ? 获取实时搜索的文本提示 数据请求，参数(params)：是一个对象形式。params:params 简写成 params
// export const GetSearchTipListData = (xxx) => request.get('/search/helper', {
//   params: xxx
// }) 这段注释的代码为例子
export const GetSearchTipListData = params => request.get('/search/helper', { params })

// ? 获取搜索商品列表的数据
export const GetGoodsListData = params => request.get('/goods/list', { params })

// ? 清除历史记录(无需传递参数)
export const ClearHistory = () => request.post('/search/clearhistory')

// ? 登录请求
export const GoLogin = params => request.post('/auth/loginByWeb', params)

// ? 获取商品明细的数据
export const GetGoodsDetailData = params => request.get('/goods/detail', { params })

// ? 获取相关产品
export const GetGoodsRelatedData = params => request.get('/goods/related', { params })

// ? 获取购物车产品数量
export const GetGoodsCount = () => request.get('/cart/goodscount')

// ? 加入购物车
export const AddProductToCart = params => request.post('/cart/add', params)

// ? 获取购物车数据
export const GetCartListData = params => request.get('/cart/index')

// ? 点击切换商品选中状态
export const ChangeGoodsChecked = params => request.post('/cart/checked', params)

// ? 步进器的请求
export const StepperChangeData = params => request.post('/cart/update', params)

// ? 删除商品请求
export const DeleteGood = params => request.post('/cart/delete', params)
